package com.yxhl.zoume.data.http.repository.car;

import com.yxhl.protobuf.BizOrderRequest;
import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.protobuf.MpvModelRequest;
import com.yxhl.protobuf.MpvModelResponse;
import com.yxhl.zoume.data.http.rest.param.expresscar.ExpressCarBillDetailParam;
import com.yxhl.zoume.data.http.rest.param.expresscar.ExpressCarCancelOrderParam;
import com.yxhl.zoume.data.http.rest.response.expresscar.ExpressCarBillDetailResponse;
import com.yxhl.zoume.data.http.rest.response.specialcar.CancelOrderResponse;

import rx.Observable;

/**
 * Author：zhongshan   
 * Date：2016/12/14 14:28      
 * Description：
 */
public interface ExpressCarRepository {
    /**
     * 获取车型和分时租车套餐信息
     */
    Observable<MpvModelResponse> queryVehicleModel(MpvModelRequest request);

    /**
     * 根据专车经纬度计算时间和距离和价格
     */
    Observable<MpvModelResponse> queryExpressCarPriceAndDistance(MpvModelRequest request);

    /**
     * 专车下单
     */
    Observable<BizOrderResponse> createExpressCarOrder(BizOrderRequest request);

    /**
     * 取消订单
     */
    Observable<CancelOrderResponse> cancelExpressCarOrder(ExpressCarCancelOrderParam param);

    /**
     * 查询计价规则
     */
    Observable<MpvModelResponse> queryPricingRules(MpvModelRequest request);
}
